precision mediump float;

uniform float u_time;
uniform vec2 u_resolution;
uniform vec2 u_mouse;
// 重复效果
// 放大uv
// length 可以获取向量的长度

void main(){
    vec2 uv=(gl_FragCoord.xy)/u_resolution;
    // uv.x < 0.5 返回0
    // uv.y > 0.5 返回1
    // float d = step(0.5, 1. - uv.x);
    // float d = step(uv.x, 0.5);
    
    // float d = fract(uv.x * 3.);
    // float d2 = step(0.5, d);
    
    // float d = length(fract(uv * 5.) - vec2(0.5));
    // float d = fract(length(uv - vec2(0.5)) / 0.707 * 5.);
    // float r = 0.5 * (sin(u_time) * 0.5 + 0.5);
    // float d2 = step(r, d);
    
    float c = step(0.5, fract(uv.x * 5.0));
    float d = step(0.5, fract(uv.y * 5.0));
    float draw = abs(d - c);
    gl_FragColor = vec4(vec3(draw), 1.);
    
}